Pay
A single transaction to authorise the payment and transfer funds from the cardholder's account to your account. A mode where the Authorize and Capture operations are completed at the same time. Pay is the most common type of payment model used by merchants to accept payments. Pay model is used when the merchant is allowed to bill the cardholder's account immediately, for example when providing services or goods on the spot.
Authentication
This operation requires authentication via one of the following methods:
- Certificate authentication.
- API password. An additional NVP parameter, apiPassword, must be supplied in the request containing your password for using the API.
Request
Fields
OPTIONAL
Information on 3DSecure fields.
This class is applicable to externally authenticated transactions only.
Digits
OPTIONAL
The Electronic Commerce Indicator returned by the card issuer in the authentication response message.
It indicates the level of security and authentication of the transaction.
Data is a string that consists of the characters 0-9.
Enumeration
OPTIONAL
Indicates if the cardholder verification was successful.
Included only if payment authentication was attempted and a PARes (Payer Authentication Response) was received by the MPI.
The PARes message is the response received from the card Issuer's Access Control Server (ACS) after the cardholder has completed the authentication process.
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Authentication was attempted but the card issuer did not perform the authentication.
AUTHENTICATION_NOT_AVAILABLE
An internal error occurred and Authentication is not currently available.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated.
Base64
OPTIONAL
The base64 encoded value generated by the card issuer.
Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered.
This field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
Data is Base64 encoded
Enumeration
REQUIRED
Indicates if the cardholder is enrolled for 3-D Secure authentication.
Value must be a member of the following list. The values are case sensitive.
ENROLLED
The card is enrolled for 3DS authentication.
ENROLLMENT_STATUS_UNDETERMINED
The Issuer's ACS was unable to process the request to check enrollment or the card is ineligible.
NOT_ENROLLED
The card is not enrolled for 3DS authentication.
Base64
OPTIONAL
A unique transaction identifier generated by the Payment Gateway on behalf of the merchant to identify the 3DS transaction.
This field is mandatory for Verified By Visa transactions if authentication was available. The XID should be used in operation requests unaltered.
Data is Base64 encoded
ASCII Text
OPTIONAL
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.
It is not used when the authentication is performed externally.
Data consists of ASCII characters
OPTIONAL
String
= PAY
FIXED
Any sequence of zero or more unicode characters.
OPTIONAL
OPTIONAL
The billing address of the person.
String
OPTIONAL
The city portion of the payers address.
Data can consist of any characters
Upper case alphabetic text
OPTIONAL
The 3 letter ISO standard alpha country code of the payers address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
OPTIONAL
The post code or zip code of the payers address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
String
OPTIONAL
The state or province of the payers address.
Data can consist of any characters
String
OPTIONAL
The street name and number, or the Post Office Box details, of the payers address.
Data can consist of any characters
String
OPTIONAL
The phone number of the person to whom the order is being billed.
Data can consist of any characters
REQUIRED
The card details, which may be represented by combining one or more of the following: Card Details, Form Session Id and/or Card Token.
Precedence rules will be applied in that order, i.e. Card Details will override From Session details which will override Card Token details. Each of these may represent partial details, however the combination must result in a full and complete set of card details. See Using Multiple Sources of Card Details for examples.
OPTIONAL
Details as shown on the card.
OPTIONAL
Expiry date, as shown on the card.
Digits
REQUIRED
Month, as shown on the card.
Months are numbered January=1, through to December=12.
Data is a number between 1 and 12 represented as a string.
Digits
REQUIRED
Year, as shown on the card.
The Common Era year is 2000 plus this value.
Data is a string that consists of the characters 0-9.
OPTIONAL
String
OPTIONAL
The first name of the person that the bill is being sent to.
Data can consist of any characters
String
OPTIONAL
The full name of the person that the bill is being sent to.
Data can consist of any characters
String
OPTIONAL
The last name or surname of the person that the bill is being sent to.
Data can consist of any characters
String
OPTIONAL
The middle name of the person that the bill is being sent to.
If there is more than one middle name, this is the first middle name.
Data can consist of any characters
String
OPTIONAL
The title of the person that the bill is being sent to.
Data can consist of any characters
Digits
OPTIONAL
Credit card number as printed on the card.
Data is a string that consists of the characters 0-9.
Digits
OPTIONAL
Card verification code, as printed on the back or front of the card.
Data is a string that consists of the characters 0-9.
Digits
OPTIONAL
The card sequence number for transactions where the data is read through a chip on the EMV card.
Data is a number between 0 and 999 represented as a string.
String
OPTIONAL
7 bit ASCII text representing the card track 1 data.
Start and end sentinels as well as the LRC must be included.
Data can consist of any characters
String
OPTIONAL
7 bit ASCII text representing the card track 2 data.
Start and end sentinels as well as the LRC must be included. The contents of this field must match the PAN and expiry fields included in the Transaction Request.
Data can consist of any characters
Alphanumeric
OPTIONAL
Uniquely identifies a card and associated details.
Data may consist of the characters 0-9, a-z, A-Z
ASCII Text
OPTIONAL
Session carrying the card details to be used.
Data consists of ASCII characters
String
OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Data can consist of any characters
OPTIONAL
String
OPTIONAL
The IP address of the computer used by the cardholder, format: nnn.nnn.nnn.nnn
Data can consist of any characters
Integer
REQUIRED
The unique identifier of the order, to distinguish it from any other order you ever issue.
A number comprising the digits 0-9, having at least one digit. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger.)
OPTIONAL
OPTIONAL
The shipping address of the person.
String
OPTIONAL
The city portion of the payers address.
Data can consist of any characters
Upper case alphabetic text
OPTIONAL
The 3 letter ISO standard alpha country code of the payers address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
OPTIONAL
The post code or zip code of the payers address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
String
OPTIONAL
The state or province of the payers address.
Data can consist of any characters
String
OPTIONAL
The street name and number, or the Post Office Box details, of the payers address.
Data can consist of any characters
String
OPTIONAL
The first name of the person to whom the order is being shipped.
Data can consist of any characters
String
OPTIONAL
The full name of the person to whom the order is being shipped.
Data can consist of any characters
String
OPTIONAL
The last name or surname of the person to whom the order is being shipped.
Data can consist of any characters
Enumeration
OPTIONAL
The shipping method code to indicate the time frame and the priority of the order.
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
OVERNIGHT
Overnight (next day).
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
String
OPTIONAL
The middle name of the person to whom the order is being shipped.
If there is more than one middle name, this is the first middle name.
Data can consist of any characters
String
OPTIONAL
The phone number of the person to whom the order is being shipped.
Data can consist of any characters
String
OPTIONAL
The title of the person to whom the order is being shipped.
Data can consist of any characters
REQUIRED
Decimal
REQUIRED
Transaction Amount.
Expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
Upper case alphabetic text
REQUIRED
The currency of the transaction expressed as an ISO 4217 alpha code, e.g. USD.
Data must consist of the characters A-Z
Enumeration
OPTIONAL
Indicates the frequency of the transaction offered to the cardholder.
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
Indicates an installment transaction where the payer authorizes you to deduct multiple payments over an agreed period of time for a single purchase.
RECURRING
Indicates a recurring transaction where the payer authorizes you to automatically debit their accounts for bill or invoice payments.
SINGLE
Indicates a single transaction where a single payment is used to complete the order.
String
OPTIONAL
An optional identifier for this transaction.
Data can consist of any characters
Enumeration
OPTIONAL
Indicates the source through which you received the transaction.
Value must be a member of the following list. The values are case sensitive.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MOTO
Transaction received by mail or telephone.
OPTIONAL
OPTIONAL
Decimal
OPTIONAL
Local tax amount.
Expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
Boolean
OPTIONAL
Indicates whether the transaction is exempt from local tax or not.
The values 'true' or 'false'. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#boolean.)
String
OPTIONAL
Local tax reference value associated with the transaction.
Data can consist of any characters
String
REQUIRED
Unique identifier for this transaction to distinguish it from any other transactions on the order.
Data can consist of any characters
Response
Fields
CONDITIONAL
Information on 3DSecure fields.
Digits
CONDITIONAL
The Electronic Commerce Indicator returned by the card issuer in the authentication response message.
It indicates the level of security and authentication of the transaction.
Data is a string that consists of the characters 0-9.
Enumeration
CONDITIONAL
Indicates if the cardholder verification was successful.
Included only if payment authentication was attempted and a PARes (Payer Authentication Response) was received by the MPI.
The PARes message is the response received from the card Issuer's Access Control Server (ACS) after the cardholder has completed the authentication process.
Value must be a member of the following list. The values are case sensitive.
AUTHENTICATION_ATTEMPTED
Authentication was attempted but the card issuer did not perform the authentication.
AUTHENTICATION_NOT_AVAILABLE
An internal error occurred and Authentication is not currently available.
AUTHENTICATION_SUCCESSFUL
The cardholder was successfully authenticated.
Base64
CONDITIONAL
The base64 encoded value generated by the card issuer.
Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered.
This field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
Data is Base64 encoded
Enumeration
ALWAYS PROVIDED
Indicates if the cardholder is enrolled for 3-D Secure authentication.
Value must be a member of the following list. The values are case sensitive.
ENROLLED
The card is enrolled for 3DS authentication.
ENROLLMENT_STATUS_UNDETERMINED
The Issuer's ACS was unable to process the request to check enrollment or the card is ineligible.
NOT_ENROLLED
The card is not enrolled for 3DS authentication.
Base64
CONDITIONAL
A unique transaction identifier generated by the Payment Gateway on behalf of the merchant to identify the 3DS transaction.
This field is mandatory for Verified By Visa transactions if authentication was available. The XID should be used in operation requests unaltered.
Data is Base64 encoded
ASCII Text
CONDITIONAL
A unique identifier supplied by the merchant for the authentication.
It is first defined in the check3DSEnrollment operation, and then included in subsequent operations.
It is not used when the authentication is performed externally.
Data consists of ASCII characters
CONDITIONAL
Information on fields returned by some acquirers for an authorization or pay transaction.
String
CONDITIONAL
Indicates the card level result returned by the issuer.
Data can consist of any characters
String
CONDITIONAL
CSC Incorrect Indicator.
An indicator, provided by the Issuer in the authorization response, to identify the presence of an invalid card security code (CSC). If there is an error, the Issuer will respond with the 1-byte CSC Error Code (Y).
Data can consist of any characters
Enumeration
CONDITIONAL
Indicates if the card used is a commercial card.
Value must be a member of the following list. The values are case sensitive.
COMMERCIAL_CARD
NOT_A_COMMERCIAL_CARD
UNDETERMINED
Enumeration
CONDITIONAL
Indicates the type of commercial card as returned by the card issuer.
Value must be a member of the following list. The values are case sensitive.
BUSINESS_CARD
COMMERCIAL_AND_CONSUMER
COMMERCIAL_CARD
CONSUMER_CARD
CORPORATE_CARD
DECLINE_OR_NOT_COMMERCIAL_CARD
OTHER
PURCHASING_CARD
String
CONDITIONAL
The local date, in MMDD format, on which the transaction occurred.
Data can consist of any characters
String
CONDITIONAL
Indicates the code of the financial network that was used to process the transaction with the issuer.
Data can consist of any characters
String
CONDITIONAL
Indicates the market or the industry associated with the payment.
For example, B may indicate "bill payment" depending on the acquirer.
Data can consist of any characters
String
CONDITIONAL
This field contains data returned by the issuer or card network to clearly communicate to merchants the reason for declining a MasterCard or Visa transaction.
Merchants can use this information to determine the best action to take. Please refer to Troubleshooting & FAQs - What if my transaction gets declined? for the list of values and their meaning.
Data can consist of any characters
String
CONDITIONAL
Payment Service Data required in settlement request.
Data can consist of any characters
String
CONDITIONAL
Identifies the type of Card Transaction sent to Card Acceptor.
Data can consist of any characters
String
CONDITIONAL
The response code which indicates the status of the transaction.
Data can consist of any characters
String
CONDITIONAL
Textual description of the acquirer response code for displaying on terminals.
Data can consist of any characters
String
CONDITIONAL
The ACI (Authorization Characteristics Indicator) returned by the issuer.
Data can consist of any characters
String
CONDITIONAL
The System Trace Audit Number is assigned by a transaction originator to assist in identifying a Card Transaction.
The trace number remains unchanged for the life of the Card Transaction.
Data can consist of any characters
String
CONDITIONAL
The local time, in HHMMSS format, during which the transaction occurred.
Data can consist of any characters
String
CONDITIONAL
Indicates the magnetic stripe condition and the vulnerability for fraud in Discover Network Card Transactions.
Data can consist of any characters
String
CONDITIONAL
The unique identifier for the transaction returned by the issuer.
Data can consist of any characters
String
CONDITIONAL
The validation code returned by the issuer.
This value must be stored to be sent with the capture transaction.
Data can consist of any characters
String
CONDITIONAL
The response returned by the issuer indicating whether the 3DSecure authentication token was validated or not.
Data can consist of any characters
CONDITIONAL
CONDITIONAL
Expiry date, as shown on the card.
Digits
ALWAYS PROVIDED
Month, as shown on the card.
Months are numbered January=1, through to December=12.
Data is a number between 1 and 12 represented as a string.
Digits
ALWAYS PROVIDED
Year, as shown on the card.
The Common Era year is 2000 plus this value.
Data is a string that consists of the characters 0-9.
CONDITIONAL
String
CONDITIONAL
The first name of the person that the bill is being sent to.
Data can consist of any characters
String
CONDITIONAL
The full name of the person that the bill is being sent to.
Data can consist of any characters
String
CONDITIONAL
The last name or surname of the person that the bill is being sent to.
Data can consist of any characters
String
CONDITIONAL
The middle name of the person that the bill is being sent to.
If there is more than one middle name, this is the first middle name.
Data can consist of any characters
String
CONDITIONAL
The title of the person that the bill is being sent to.
Data can consist of any characters
Masked digits
ALWAYS PROVIDED
The account number embossed onto the card.
The number will be masked according to your masking settings and how you authenticated your call to the API.
If you authenticated using certificate authentication, then your masking settings will be used. This allows you to return unmasked card numbers if you have chosen not to apply masking.
If you authenticated to the API by a means other than certificate authentication, then the card number will be returned with your masking settings or 6.4; whichever is more restrictive for example, 000000xxxxxx0000.
Data is a string that consists of the characters 0-9, plus 'x' for masking
Enumeration
ALWAYS PROVIDED
Card scheme of the supplied card.
Value must be a member of the following list. The values are case sensitive.
MASTERCARD
MasterCard
VISA
Visa
Alphanumeric
CONDITIONAL
The code used to indicate the existence of the Card Security Code value.
Data may consist of the characters 0-9, a-z, A-Z
Digits
CONDITIONAL
The card sequence number for transactions where the data is read through a chip on the EMV card.
Data is a string that consists of the characters 0-9.
Boolean
CONDITIONAL
Indicates whether card track data is provided.
The values 'true' or 'false'. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#boolean.)
Alphanumeric + additional characters
ALWAYS PROVIDED
The unique identifier issued to you by your payment provider.
This identifier can be up to 12 characters in length.
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
Enumeration
ALWAYS PROVIDED
A system-generated high level overall result of the operation.
Value must be a member of the following list. The values are case sensitive.
FAILURE
The operation was declined or rejected by the gateway, acquirer or issuer
PENDING
The operation is currently in progress or pending processing
SUCCESS
The operation was successfully processed
UNKNOWN
The result of the operation is unknown
CONDITIONAL
CONDITIONAL
The shipping address of the person.
String
CONDITIONAL
The city portion of the payers address.
Data can consist of any characters
Upper case alphabetic text
CONDITIONAL
The 3 letter ISO standard alpha country code of the payers address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
CONDITIONAL
The post code or zip code of the payers address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
String
CONDITIONAL
The state or province of the payers address.
Data can consist of any characters
String
CONDITIONAL
The street name and number, or the Post Office Box details, of the payers address.
Data can consist of any characters
String
CONDITIONAL
The first name of the person to whom the order is being shipped.
Data can consist of any characters
String
CONDITIONAL
The full name of the person to whom the order is being shipped.
Data can consist of any characters
String
CONDITIONAL
The last name or surname of the person to whom the order is being shipped.
Data can consist of any characters
Enumeration
CONDITIONAL
The shipping method code to indicate the time frame and the priority of the order.
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
OVERNIGHT
Overnight (next day).
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
String
CONDITIONAL
The middle name of the person to whom the order is being shipped.
If there is more than one middle name, this is the first middle name.
Data can consist of any characters
String
CONDITIONAL
The phone number of the person to whom the order is being shipped.
Data can consist of any characters
String
CONDITIONAL
The title of the person to whom the order is being shipped.
Data can consist of any characters
ALWAYS PROVIDED
ALWAYS PROVIDED
String
CONDITIONAL
The date the transaction was processed, as returned by the acquirer.
Not returned by most acquirers.
Data can consist of any characters
String
ALWAYS PROVIDED
The ID for the acquirer used to process the transaction.
Data can consist of any characters
String
CONDITIONAL
The time the transaction was processed, as returned by the acquirer.
Not returned by most acquirers.
Data can consist of any characters
ASCII Text
CONDITIONAL
Value generated by the issuing bank in response to a proposal to transfer funds.
Data consists of ASCII characters
Enumeration
CONDITIONAL
Indicates the frequency of the transaction offered to the cardholder.
Value must be a member of the following list. The values are case sensitive.
INSTALLMENT
Indicates an installment transaction where the payer authorizes you to deduct multiple payments over an agreed period of time for a single purchase.
RECURRING
Indicates a recurring transaction where the payer authorizes you to automatically debit their accounts for bill or invoice payments.
SINGLE
Indicates a single transaction where a single payment is used to complete the order.
String
ALWAYS PROVIDED
The unique identifier of the transaction, that distinguishes it from other transactions on the order.
Data can consist of any characters
ASCII Text
CONDITIONAL
A unique reference generated by the acquirer for a specific merchant interaction.
The reference may be used when contacting the acquirer about a specific transaction.
Data consists of ASCII characters
String
CONDITIONAL
The value provided by you to identify the transaction within all orders.
Data can consist of any characters
CONDITIONAL
CONDITIONAL
Decimal
CONDITIONAL
Local tax amount.
Expressed as a decimal number in the units of the currency. For example 12.34 in USD is the amount 12 dollars and 34 cents.
A sequence of digits 0-9 separated by a '.' as a decimal indicator. Leading and trailing zeroes are optional. If the fractional part is zero, the '.' and following zero(es) can be omitted. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#decimal.)
Boolean
CONDITIONAL
Indicates whether the transaction is exempt from local tax or not.
The values 'true' or 'false'. (For a complete description, see http://www.w3.org/TR/xmlschema-2/#boolean.)
String
CONDITIONAL
Local tax reference value associated with the transaction.
Data can consist of any characters
String
CONDITIONAL
The terminal configured at the processor/acquirer used to process the transaction.
Data can consist of any characters
Enumeration
ALWAYS PROVIDED
Indicates the type of action performed on the order.
Value must be a member of the following list. The values are case sensitive.
AUTHORIZATION
Authorization
CAPTURE
Capture
PAYMENT
Payment (Purchase)
REFUND
Refund
VOID_AUTHORIZATION
Void Authorization
VOID_CAPTURE
Void Capture
VOID_PAYMENT
Void Payment
VOID_REFUND
Void Refund
Errors
Information on possible error conditions that may occur while processing an operation using the API.
Enumeration
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
String
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Data can consist of any characters
String
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Data can consist of any characters
Enumeration
A system-generated high level overall result of the operation.
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.